
package Type;

import java.awt.Component;
/**
 * La classe Wizzer prend en charge les tentatives de wizz
 * d'une fentre distante
 * 
 * @author      Frank Djomo
 * @author      Christelle SIAGO HAPPI
 * @author      djomopoueme@gmail.com
 * @author      christelle.siagohappi@gmail.com
 * @version     1.0
 */

public final class Wizzer {

   
    private int decallage ; //donne le decallage du wizz
    private int vitesse ; //donne l'allure du wizz 
    private Component frame ;
    
    /**
    * Constructeur
    * @param  frame Le Component à faire bouger
    * @see Component
    */
    public Wizzer(Component frame){
        decallage = 5;
        vitesse = 45;
        this.setFrame(frame);
        this.creerWizz();
    }
    
    
    /**
    * Mise à jour de la variable frame
    * @param  frame est le container à faire bouger
    */
   private void setFrame(Component frame){
       this.frame = frame;
    }
    
    /**
    * Fait vibrer un Component
    * @see Component
    */
    public void creerWizz()
    {
            //position de la fenêtre à l'écran 
            // avec setbound()
            int positionX = frame.getBounds().getLocation().x;
            int positionY = frame.getBounds().getLocation().y;
            
            //tableau de décallage
            //position initiale et le decallage
            int[] posDecalage={0,decallage};
            //fait bouger la fenêtre 7 fois
            for (int i=0;i<7;i++)
            {
                    //fait un division si le reste de la division (mod) est 0 position initial
                    //sinon position + decallage
                    frame.setBounds(positionX+posDecalage[i%2],positionY+posDecalage[i%2]
                            ,frame.getBounds().getSize().width,frame.getBounds().getSize().height);
                    try
                    {
                            //donne l'effet de wizz
                            Thread.sleep(vitesse);
                    }
                    catch(Exception threadSleepExecption){
                        System.out.println("Wizz "+threadSleepExecption);
                    }
            }
    }
	
}
